package com.itheima;

import com.itheima.car.BenZ;
import com.itheima.car.Bmw;
import com.itheima.car.Car;

/**
 * 对象的消费者
 */
public class User {

    public static void main(String[] args) {
        /*
        1.自己创建对象
        BenZ benZ = new BenZ();
        Bmw bmw = new Bmw();
         */
        //1. 由别人(工厂类)创建对象
        Car benZ = BeanFactory.getBean("benz");
        Car bmw = BeanFactory.getBean("bmw");
        Car audi = BeanFactory.getBean("audi");
        /*
        现有方式的问题：
        1. 可扩展性比较差，如果要加一辆新车：
            a) 创建一个类Audi
            b) BeanFactory要进行修改
        2. BeanFactory工厂类是依赖于所有的实现类

        解决2个问题：
        1. 加的新的类不要修改工厂类BeanFactory
        2. BeanFactory不能依赖Car的实现类
         */
        //2.自己消费对象
        benZ.driver();
        bmw.driver();
        audi.driver();
    }
    //11111111
}
